package controladores;

import modelos.daos.EmpleadoDAO;
import modelos.daos.RolDAO;
import modelos.pojos.Empleado;
import modelos.pojos.Rol;
import tools.Utilidad;
import java.sql.SQLException;
import java.util.List;
import org.apache.log4j.Logger;

public class GestionEmpleadoCont {

    protected static Logger log = Logger.getLogger(GestionEmpleadoCont.class);

    public static String crearEmpleado(Empleado empleado, String nombreRol) {
        try {
            Rol rol = RolDAO.consultar(nombreRol);
            if (rol != null) {
                empleado.setRol(rol);
            }
            EmpleadoDAO.crear(empleado);
        } catch (Exception ex) {
        }
        return mostrarResumenEmpleado(empleado.getCedula());
    }

    public static Empleado buscarEmpleado(String cedula) {
        Empleado resultado = null;
        try {
            if (cedula != null) {
                resultado = new Empleado();
                Empleado consulta = EmpleadoDAO.consultar(cedula);
                resultado.setId(consulta.getId());
                resultado.setNombre(consulta.getNombre());
                resultado.setCedula(consulta.getCedula());
                resultado.setTelefono(consulta.getTelefono());
                resultado.setCargo(consulta.getCargo());
                resultado.setEstado(consulta.getEstado());

                if (consulta.getRol() != null) {
                    resultado.setRol(consulta.getRol());
                }
            }
        } catch (Exception ex) {
        }
        return resultado;
    }

    public static List<Empleado> listarEmpleados(String cedula) {
        List<Empleado> listadoEmpleado = null;
        try {
            listadoEmpleado = EmpleadoDAO.listar(cedula);
        } catch (Exception ex) {
        }
        return listadoEmpleado;
    }

    public static String actualizarInformacion(Empleado empleado) {
        try {
            EmpleadoDAO.actualizar(empleado);
        } catch (Exception ex) {
        }
        return mostrarResumenEmpleado(empleado.getCedula());
    }

    public static String mostrarResumenEmpleado(String cedula) {
        Empleado empleado = null;
        try {
            empleado = EmpleadoDAO.consultar(cedula);
        } catch (SQLException ex) {
        }


        return empleado.getNombre() + ", Cc:" + empleado.getCedula() + ", Tel:" + empleado.getTelefono() + "se encuentra " + Utilidad.pasarEstadoString(empleado.getEstado());
    }
}
